var log4js = require("log4js");  
var fs = require('fs');
var json = require("./log4js.json"); 
log4js.configure(json);
// 设置输出的类型
var list = {};
list['trace'] = {
  des:'成功信息',
  category:'log_trace',
  level:5
}
list['debug'] = {
  des:'测试信息',
  category:'log_debug',
  level:4
}
list['info'] = {
  des:'测试的提示信息',
  category:'log_info',
  level:3
}
list['warn'] = {
  des:'警告信息',
  category:'log_warn',
  level:2
}
list['error'] = {
	des:'错误信息',
  category:'log_error',
	level:1 //1:打印，0：不打印
} 
list['fatal'] = {
	des:'致命信息',
  category:'log_fatal',
	level:0
}

// 生成日志文件 
var Console_log = {
   control:function(key,data){
     var level = list[key].level;
     var category = list[key].category;
     var log = log4js.getLogger(category); 
     // 输出到日志文件
     log[key](data);
     if (level <= 5) {
     	  console.log(data);//在控制台输出
     }
   }
}
module.exports = Console_log;


//分别是:key: trace(蓝色)、debug(青色)、info(绿色)、warn(黄色)、error(红色)、fatal(粉色)
//这6个level方便我们给日志设置不同的输出等级，不同的颜色也方便我们区分。  
// LogFile.trace('minyanan minyanan minyanan minyanan');  
// LogFile.debug('We Write Logs with log4js');  
// LogFile.info('You can find logs-files in the log-dir');  
// LogFile.warn('log-dir is a configuration-item in the log4js.json');  
// LogFile.error('In This Test log-dir is : \'./logs/log_test/\'');  

var obj = {
              appenders: {
                file: {
                  type : 'file',
                  filename:'./logs/log_file/file.log',//文件目录，当目录文件或文件夹不存在时，会自动创建
                  maxLogSize : 104800,//文件最大存储空间，当文件内容超过文件存储空间会自动生成一个文件test.log.1的序列自增长的文件
                  backups : 100,//当文件内容超过文件存储空间时，备份文件的数量
                  //compress : true,//是否以压缩的形式保存新文件,默认false。如果true，则新增的日志文件会保存在gz的压缩文件内，并且生成后将不被替换，false会被替换掉
                  encoding : 'utf-8',//default "utf-8"，文件的编码
                  category : 'log_file',
                  numBackups: 5, // keep five backup files
                  compress: false // compress the backups
                },
                dateFile: {
                  type: 'dateFile',
                  filename: './logs/log_date/date',
                  pattern: 'yyyy-MM-dd-hh.log',
                  compress: false
                },
                out: {
                  type: 'stdout'
                }
              },
              categories: {
                default: { appenders: ['file', 'dateFile', 'out'], level: 'trace' }
              }
      }